home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / GXEnvironment.p < prev    next >
Encoding:
Text File  |  1998-02-12  |  8.0 KB  |  245 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        GXEnvironment.p
  3.  
  4.      Contains:    QuickDraw GX environment constants and interfaces
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1994-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT GXEnvironment;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __GXENVIRONMENT__}
  28. {$SETC __GXENVIRONMENT__ := 1}
  29.  
  30. {$I+}
  31. {$SETC GXEnvironmentIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __CONDITIONALMACROS__}
  35. {$I ConditionalMacros.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __MIXEDMODE__}
  38. {$I MixedMode.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __QUICKDRAW__}
  41. {$I Quickdraw.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __GXTYPES__}
  44. {$I GXTypes.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __CMAPPLICATION__}
  47. {$I CMApplication.p}
  48. {$ENDC}
  49.  
  50.  
  51. {$PUSH}
  52. {$ALIGN MAC68K}
  53. {$LibExport+}
  54.  
  55.  
  56. CONST
  57.     defaultPollingHandlerFlags    = $00;
  58.     okToSwitchDuringPollFlag    = $00;
  59.     dontSwitchDuringPollFlag    = $01;
  60.  
  61.  
  62. TYPE
  63.     gxPollingHandlerFlags                = LONGINT;
  64. {$IFC TYPED_FUNCTION_POINTERS}
  65.     gxPollingHandlerProcPtr = PROCEDURE(reference: LONGINT; flags: gxPollingHandlerFlags); C;
  66. {$ELSEC}
  67.     gxPollingHandlerProcPtr = ProcPtr;
  68. {$ENDC}
  69.  
  70.     gxPollingHandlerUPP = UniversalProcPtr;
  71.  
  72. CONST
  73.     uppgxPollingHandlerProcInfo = $000003C1;
  74.  
  75. FUNCTION NewgxPollingHandlerProc(userRoutine: gxPollingHandlerProcPtr): gxPollingHandlerUPP;
  76.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  77.     INLINE $2E9F;
  78.     {$ENDC}
  79.  
  80. PROCEDURE CallgxPollingHandlerProc(reference: LONGINT; flags: gxPollingHandlerFlags; userRoutine: gxPollingHandlerUPP);
  81.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  82.     {To be implemented:  Glue to move parameters into registers.}
  83.     {$ENDC}
  84. FUNCTION GXGetGraphicsPollingHandler(VAR reference: LONGINT): gxPollingHandlerUPP; C;
  85. PROCEDURE GXSetGraphicsPollingHandler(handler: gxPollingHandlerUPP; reference: LONGINT); C;
  86.  
  87. { QD to QD GX Translator typedefs }
  88.  
  89. CONST
  90.     gxDefaultOptionsTranslation    = $0000;
  91.     gxOptimizedTranslation        = $0001;
  92.     gxReplaceLineWidthTranslation = $0002;
  93.     gxSimpleScalingTranslation    = $0004;
  94.     gxSimpleGeometryTranslation    = $0008;                        {  implies simple scaling  }
  95.     gxSimpleLinesTranslation    = $000C;                        {  implies simple geometry & scaling  }
  96.     gxLayoutTextTranslation        = $0010;                        {  turn on gxLine layout (normally off)  }
  97.     gxRasterTargetTranslation    = $0020;
  98.     gxPostScriptTargetTranslation = $0040;
  99.     gxVectorTargetTranslation    = $0080;
  100.     gxPDDTargetTranslation        = $0100;
  101.     gxDontConvertPatternsTranslation = $1000;
  102.     gxDontSplitBitmapsTranslation = $2000;
  103.  
  104.  
  105. TYPE
  106.     gxTranslationOption                    = LONGINT;
  107.  
  108. CONST
  109.     gxContainsFormsBegin        = $0001;
  110.     gxContainsFormsEnd            = $0002;
  111.     gxContainsPostScript        = $0004;
  112.     gxContainsEmptyPostScript    = $0008;
  113.  
  114.  
  115. TYPE
  116.     gxTranslationStatistic                = LONGINT;
  117.  
  118. CONST
  119.     gxQuickDrawPictTag            = 'pict';
  120.  
  121.  
  122. TYPE
  123.     gxQuickDrawPictPtr = ^gxQuickDrawPict;
  124.     gxQuickDrawPict = RECORD
  125.                                                                         {  translator inputs  }
  126.         options:                gxTranslationOption;
  127.         srcRect:                Rect;
  128.         styleStretch:            Point;
  129.                                                                         {  size of quickdraw picture data  }
  130.         dataLength:                UInt32;
  131.                                                                         {  file alias  }
  132.         alias:                    gxBitmapDataSourceAlias;
  133.     END;
  134.  
  135. { WindowRecord utilities }
  136. FUNCTION GXNewWindowViewPort(qdWindow: WindowPtr): gxViewPort; C;
  137. FUNCTION GXGetWindowViewPort(qdWindow: WindowPtr): gxViewPort; C;
  138. FUNCTION GXGetViewPortWindow(portOrder: gxViewPort): WindowPtr; C;
  139. { GDevice utilities }
  140. FUNCTION GXGetViewDeviceGDevice(theDevice: gxViewDevice): GDHandle; C;
  141. FUNCTION GXGetGDeviceViewDevice(qdGDevice: GDHandle): gxViewDevice; C;
  142. { gxPoint utilities }
  143. PROCEDURE GXConvertQDPoint({CONST}VAR shortPt: Point; portOrder: gxViewPort; VAR fixedPt: gxPoint); C;
  144.  
  145. TYPE
  146. {$IFC TYPED_FUNCTION_POINTERS}
  147.     gxShapeSpoolProcPtr = FUNCTION(toSpool: gxShape; refCon: LONGINT): OSErr; C;
  148. {$ELSEC}
  149.     gxShapeSpoolProcPtr = ProcPtr;
  150. {$ENDC}
  151.  
  152. { printing utilities typedef }
  153. {$IFC TYPED_FUNCTION_POINTERS}
  154.     gxUserViewPortFilterProcPtr = PROCEDURE(toFilter: gxShape; portOrder: gxViewPort; refCon: LONGINT); C;
  155. {$ELSEC}
  156.     gxUserViewPortFilterProcPtr = ProcPtr;
  157. {$ENDC}
  158.  
  159. {$IFC TYPED_FUNCTION_POINTERS}
  160.     gxConvertQDFontProcPtr = FUNCTION(dst: gxStyle; txFont: LONGINT; txFace: LONGINT): LONGINT; C;
  161. {$ELSEC}
  162.     gxConvertQDFontProcPtr = ProcPtr;
  163. {$ENDC}
  164.  
  165.     gxShapeSpoolUPP = UniversalProcPtr;
  166.     gxUserViewPortFilterUPP = UniversalProcPtr;
  167.     gxConvertQDFontUPP = UniversalProcPtr;
  168.  
  169. CONST
  170.     uppgxShapeSpoolProcInfo = $000003E1;
  171.     uppgxUserViewPortFilterProcInfo = $00000FC1;
  172.     uppgxConvertQDFontProcInfo = $00000FF1;
  173.  
  174. FUNCTION NewgxShapeSpoolProc(userRoutine: gxShapeSpoolProcPtr): gxShapeSpoolUPP;
  175.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  176.     INLINE $2E9F;
  177.     {$ENDC}
  178.  
  179. FUNCTION NewgxUserViewPortFilterProc(userRoutine: gxUserViewPortFilterProcPtr): gxUserViewPortFilterUPP;
  180.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  181.     INLINE $2E9F;
  182.     {$ENDC}
  183.  
  184. FUNCTION NewgxConvertQDFontProc(userRoutine: gxConvertQDFontProcPtr): gxConvertQDFontUPP;
  185.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  186.     INLINE $2E9F;
  187.     {$ENDC}
  188.  
  189. FUNCTION CallgxShapeSpoolProc(toSpool: gxShape; refCon: LONGINT; userRoutine: gxShapeSpoolUPP): OSErr;
  190.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  191.     {To be implemented:  Glue to move parameters into registers.}
  192.     {$ENDC}
  193.  
  194. PROCEDURE CallgxUserViewPortFilterProc(toFilter: gxShape; portOrder: gxViewPort; refCon: LONGINT; userRoutine: gxUserViewPortFilterUPP);
  195.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  196.     {To be implemented:  Glue to move parameters into registers.}
  197.     {$ENDC}
  198.  
  199. FUNCTION CallgxConvertQDFontProc(dst: gxStyle; txFont: LONGINT; txFace: LONGINT; userRoutine: gxConvertQDFontUPP): LONGINT;
  200.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  201.     {To be implemented:  Glue to move parameters into registers.}
  202.     {$ENDC}
  203.  
  204. TYPE
  205.     gxShapeSpoolFunction                = gxShapeSpoolProcPtr;
  206.     gxUserViewPortFilter                = gxUserViewPortFilterProcPtr;
  207.     gxConvertQDFontFunction                = gxConvertQDFontProcPtr;
  208. { mouse utilities }
  209. { return mouse location in fixed-gxPoint global space }
  210. PROCEDURE GXGetGlobalMouse(VAR globalPt: gxPoint); C;
  211. { return fixed-gxPoint local mouse (gxViewPort == 0 --> default) }
  212. PROCEDURE GXGetViewPortMouse(portOrder: gxViewPort; VAR localPt: gxPoint); C;
  213. { printing utilities }
  214. FUNCTION GXGetViewPortFilter(portOrder: gxViewPort; VAR refCon: LONGINT): gxUserViewPortFilterUPP; C;
  215. PROCEDURE GXSetViewPortFilter(portOrder: gxViewPort; filter: gxUserViewPortFilterUPP; refCon: LONGINT); C;
  216. { QD to QD GX Translator functions }
  217. PROCEDURE GXInstallQDTranslator(port: GrafPtr; options: gxTranslationOption; {CONST}VAR srcRect: Rect; {CONST}VAR dstRect: Rect; styleStrech: Point; userFunction: gxShapeSpoolUPP; reference: UNIV Ptr); C;
  218. FUNCTION GXRemoveQDTranslator(port: GrafPtr; VAR statistic: gxTranslationStatistic): gxTranslationStatistic; C;
  219. FUNCTION GXConvertPICTToShape(pict: PicHandle; options: gxTranslationOption; {CONST}VAR srcRect: Rect; {CONST}VAR dstRect: Rect; styleStretch: Point; destination: gxShape; VAR stats: gxTranslationStatistic): gxShape; C;
  220. { Find the best GX style given a QD font and face. Called by the QD->GX translator }
  221. FUNCTION GXConvertQDFont(theStyle: gxStyle; txFont: LONGINT; txFace: LONGINT): LONGINT; C;
  222. FUNCTION GXGetConvertQDFont: gxConvertQDFontUPP; C;
  223. PROCEDURE GXSetConvertQDFont(userFunction: gxConvertQDFontUPP); C;
  224.  
  225. TYPE
  226.     gxProfilePoolAttributes                = UInt32;
  227.     gxFlatProfileListItemPtr = ^gxFlatProfileListItem;
  228.     gxFlatProfileListItem = RECORD
  229.         attributes:                gxProfilePoolAttributes;                {  information about this particular profile's source }
  230.         profileRef:                CMProfileRef;                            {  reference to profile, only valid before shape is disposed }
  231.         identifier:                CMProfileIdentifier;                    {  information on how to find the profile upon unflattening }
  232.     END;
  233.  
  234.  
  235. {$ALIGN RESET}
  236. {$POP}
  237.  
  238. {$SETC UsingIncludes := GXEnvironmentIncludes}
  239.  
  240. {$ENDC} {__GXENVIRONMENT__}
  241.  
  242. {$IFC NOT UsingIncludes}
  243.  END.
  244. {$ENDC}
  245.